package algo3c2g15.vista;

import java.awt.Dimension;
import java.util.Observable;
import java.util.Observer;

import javax.swing.*;

import algo3c2g15.business.Juego;

public class PanelEstado extends JPanel implements Observer{
	private static final long serialVersionUID = 1L;
	
	private static PanelEstado instance = null;
	
	private JTextField plata = new JTextField();
	private JLabel etiquetaPlata = new JLabel("Algo$");
	private JLabel etiquetaTurno = new JLabel("Turno Jugador:");
	private JLabel jugadorEnTurno = new JLabel();
	private Juego juego;
	
	private PanelEstado( Juego juego ){
		super();
		this.juego = juego;
		this.juego.addObserver(this);
		this.setLayout(null);
		this.setPreferredSize(new Dimension(405,25));
		this.setBounds(390,527,405,25);
		this.setBorder(javax.swing.BorderFactory.createRaisedBevelBorder());
		
		// Seteo de los Labels y el Field de la plata
		etiquetaTurno.setBounds(5,1,100,25);
		this.add(etiquetaTurno);
		
		jugadorEnTurno.setText(juego.getJugadorActivo().getNombre());
		jugadorEnTurno.setBounds(110, 1, 200, 25);
		this.add(jugadorEnTurno);
		
		etiquetaPlata.setBounds(265,0,40,25);
		this.add(etiquetaPlata);
		
		plata.setText( String.valueOf( juego.getJugadorActivo().getAlgoPesos() ) );
		plata.setBounds(300,2,100,20);
		plata.setEnabled(false);
		this.add(plata);
	}
	
	public static PanelEstado getInstance(){
		return instance;
	}
	
	public static void create(Juego juego) {
			instance = new PanelEstado(juego);
	}
	
	public void update(Observable arg0, Object arg1){
		jugadorEnTurno.setText(juego.getJugadorActivo().getNombre());
		plata.setText( String.valueOf( juego.getJugadorActivo().getAlgoPesos() ) );
	}
}
